home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / CC_C / H001C.ZIP / DJGPP3.ZIP / EMU387 / E44.CC < prev    next >
C/C++ Source or Header  |  1991-04-22  |  424b  |  28 lines

  1. #include "emu.h"
  2. #include "rmov.h"
  3.  
  4. void emu_44()
  5. {
  6.   if (empty())
  7.     return;
  8.   if (modrm > 0277)
  9.   {
  10.     // fsub st(i),st
  11.     int i = modrm & 7;
  12.     if (empty(i))
  13.       return;
  14.     reg tmp;
  15.     r_sub(st(), st(i), tmp);
  16.     r_mov(tmp, st(i));
  17.     return;
  18.   }
  19.   else
  20.   {
  21.     // fsub m64real
  22.     reg t1, t2;
  23.     r_mov((double *)get_modrm(), t1);
  24.     r_sub(st(), t1, t2);
  25.     r_mov(t2, st());
  26.   }
  27. }
  28.